package com.brspace.qualitycontrol.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 信访诉求
 * </p>
 *
 * @author ${author}
 * @since 2021-04-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Letter对象", description="信访诉求")
public class Letter implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "uuid")
      @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;

    @ApiModelProperty(value = "信访编号")
    private String letterNumber;

    @ApiModelProperty(value = "期限答复")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date termReply;

    @ApiModelProperty(value = "限办天数")
    private Integer dateNumber;

    @ApiModelProperty(value = "信访文件")
    private String file;

    @ApiModelProperty(value = "领导意见")
    private String leaderView;

    @ApiModelProperty(value = "经办人处理情况")
    private String agentSituation;

    @ApiModelProperty(value = "MD")
    private String md;

    @ApiModelProperty(value = "信访人")
    private String user;

    @ApiModelProperty(value = "人数")
    private String number;

    @ApiModelProperty(value = "证件号码")
    private String verifying;

    @ApiModelProperty(value = "电话号码")
    private String tel;

    @ApiModelProperty(value = "登记单位")
    private String unit;

    @ApiModelProperty(value = "初重新")
    private String again;

    @ApiModelProperty(value = "信访人地址")
    private String address;

    @ApiModelProperty(value = "问题发生地")
    private String problem;

    @ApiModelProperty(value = "信访日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date letterTime;

    @ApiModelProperty(value = "标题")
    private String title;

    @ApiModelProperty(value = "信访内容")
    private String content;

    @ApiModelProperty(value = "内容分类")
    private String types;

    @ApiModelProperty(value = "办理方式")
    private String mode;

    @ApiModelProperty(value = "去向")
    private String last;

    @ApiModelProperty(value = "存的理由")
    private String reason;

    @ApiModelProperty(value = "补充答复")
    private String reply;

    @ApiModelProperty(value = "经办人")
    private String doUser;

    @ApiModelProperty(value = "经办人确认")
    private String doRen;

    @ApiModelProperty(value = "意见/路由条件")
    private String progress;

    @ApiModelProperty(value = "分管领导")
    private String fenId;

    @ApiModelProperty(value = "分管领导意见")
    private String fenRen;

    @ApiModelProperty(value = "分管领导确认")
    private String fenRenTwo;

    @ApiModelProperty(value = "分管科室领导")
    private String keId;

    @ApiModelProperty(value = "分管科室领导意见")
    private String keRen;

    @ApiModelProperty(value = "承办人")
    private String chengUser;

    @ApiModelProperty(value = "承办人意见")
    private String chengRen;

    @ApiModelProperty(value = "节点ID")
    private int nodeId;

    @ApiModelProperty(value = "类别 0:来信1：领导信箱2：网信")
    private int typeSta;

    @ApiModelProperty(value = "状态：0：正常 1逾期")
    private String stateType;

    @ApiModelProperty(value = "状态：0：已归档或已完成或以同意 1 退回 2 审查分流 3 交办 4 处理 5 答复意见  ")
    private String state;


    @ApiModelProperty(value = "经办日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    private Date doTime;

    @ApiModelProperty(value = "创建时间")
      @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
      @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}
